#include "implementations/Road.h"
#include "implementations/Lane.h"

namespace vnav{

	Road::Road()
	{
	
	}
	
	Road::Road( const Road& other )
	{
		*this = other;
	}
	
	Road& Road::operator=( const Road& other )
	{
		if (this != &other)
		{
			//do the assignment
			_ASSERT(false);

		}
		return *this;
	}
	
	Road::~Road()
	{
	
	}

	void Road::addLanes( Lane* val )
	{
		_ASSERT(val);
		m_lanes.push_back(val);
	}

	void Road::setLanes( Lanes val )
	{
		m_lanes = val;
	}

	vnav::Road::Lanes Road::getLanes() const
	{
		return m_lanes;
	}

	Road::RoadBlocks Road::getRoadBlocks() const
	{
		return m_RoadBlocks;
	}

	void Road::setRoadBlocks( Road::RoadBlocks val )
	{
		m_RoadBlocks = val;
	}

	void Road::addRoadBlock( RoadBlock* val )
	{
		_ASSERT(val);
		m_RoadBlocks.push_back(val);
	}
}